/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.apolo.controle;

/**
 *
 * @author armando
 */
import java.util.List;

import com.apolo.entidades.Pessoa;
import com.apolo.entidades.Tarefa;
import com.apolo.repositorio.RepositorioPessoaLista;
import com.apolo.repositorio.RepositorioPessoaBDR;
import com.apolo.sistema.excecoes.RepositorioException;

public class Fachada {
    RepositorioPessoaLista rpl = new RepositorioPessoaLista();
    
    ManipulaPessoa mp = new ManipulaPessoa(rpl);
    
    /**
     * inserir pessoa na lista
     * @param p insere os dados da Pessoa
     */
    public void inserirPessoa(Pessoa p){
        this.mp.inserir(p);
    }
    
    /**
     * procurar pessoa na lista
     * @param codigo valor inteiro referente ao codigo da pessoa
     * @return Pessoa retorna a Pessoa encontrada
     */
    public Pessoa procurarPessoa(int codigo){
        return(this.mp.procurar(codigo));
    }
    
    /**
     * remover pessoa na lista
     * @param codigo valor inteiro do codigo da pessoa 
     */
    public void removerPessoa(int codigo){
        this.mp.remover(codigo);
    }
    
    /**
     * quantidade de pessoas na lista
     * @return valor inteiro quantidade de pessoas do repositorio
     */
    public int quantidadePessoas(){
        return(this.mp.quantidade());
    }
    
    /**
     * Pega pessoa na lista
     * @param indice dado um indice na posicao do repositorio
     * @return Pessoa retorna o tipo Pessoa
     */
    public Pessoa pegaPosicaoPessoa(int indice){
        return(this.mp.pegaPessoa(indice));
    }
    
    /**
     * Atualiza pessoa na lista
     * @param p dado um tipo Pessoa atualiza
     */
    public void atualizaPessoa(Pessoa p){
        this.mp.atualizaPessoa(p);
    }
    
    /**
     * 
     * @return Lista de todas as Pessoas cadastradas no Repositorio de Pessoas 
     */
    public List<Pessoa> listaPessoas(){
    	return this.mp.getListaPessoas();
    }
    
    /**
     * 
     * @return Insere tarefa em pessoa 
     */
    public void inserirTarefaPessoa(Tarefa t){
    	this.mp.inserirTarefaPessoa(t);
    }
    
    /**
     * 
     * @return Lista as tarefas de uma pessoa 
     */
    public List<Tarefa> listarTarefaPessoa(){
    	return this.mp.listarTarefas();
    }
    

    
    
}
